package spade;


public class BehaviourTemplate {
    /*
    Template operators
    */

    //public __init__(self){
    //    pass

    public boolean match(ACLMessage message) {
        return false;
    };

    public ANDTemplate __and__( BehaviourTemplate other ) {
        //"""Implementation of & operator"""
        return new ANDTemplate(this, other);
    };

    /*
	 * NO LO ENTIENDO - GUS public __rand__(self, other){ """Implementation of &=
	 * operator""" return (self & other)
	 */

    public ORTemplate __or__(BehaviourTemplate other) {
        //"""Implementation of | operator"""
        return new ORTemplate(this, other);
    };

    /* NO LO ENTIENDO - GUS
    public __ror__(self, other){
        """Implementation of |= operator"""
        return (self | other)
    */

    public XORTemplate __xor__(BehaviourTemplate other) {
        //"""Implementation of ^ operator"""
        return new XORTemplate(this, other);
    };

    /* NO LO ENTIENDO - GUS
    public __rxor__(self, other){
        """Implementation of ^= operator"""
        return (self ^ other)
    */

    public NOTTemplate __invert__() {
        //"""Implementation of ~ operator"""
        return new NOTTemplate(this);
    };
};
